/**
 * Archivo de entrada del proyecto, contiene la función main que crea
 * la aplicación y pasa el contro a esta.
 * 
 * @file main.cpp
 * @author Adrián Guerra Marrero
 * @date 20110419 - Initial Release
 */

#include <iostream>
#include <cassert>
#include "SGE/SGE.h"
#include "SGE/SGE_types.h"

int main(int argc, char* argv[])
{
	// Establecemos el código de salida en 0
	int mExitCode = SGE::StatusNoError;
	
	// Creamos la aplicacion
	SGE::App *anApp = new(std::nothrow) SGE::App;
	assert(NULL != anApp && "main() Can't create Application");
	
	// Procesamos los argumentos de linea de comandos
	anApp->ProcessArguments(argc, argv);
	
	// Damos el control a la aplicacion
	mExitCode = anApp->Run();
	
	// Eliminamos de la memoria la aplicación
	delete anApp;
	
	// Vaciamos el puntero
	anApp = NULL;
	
	// Salimos
	return mExitCode;
}